// samsting : this file is auto create.

#ifndef ALIYUN_Yundun_WafLogResponse_H_
#define ALIYUN_Yundun_WafLogResponse_H_

#include "core/acs_response.h"

namespace aliyun { namespace Yundun {

class WafLogResponse : public AcsResponse {
public:
  WafLogResponse();

  class WafLog {
    friend class WafLogResponse;
  public:
    const string& GetSourceIp(void) const;
    const string& GetTime(void) const;
    const string& GetUrl(void) const;
    const string& GetType(void) const;
    int  GetStatus(void) const;
  private:
    string SourceIp_;
    string Time_;
    string Url_;
    string Type_;
    int    Status_;
  }; // WafLog 

  const std::vector<WafLog>& GetLogList(void) const;
  int  GetWebAttack(void) const;
  bool GetNewWafUser(void) const;
  bool GetWafOpened(void) const;
  bool GetInWhiteList(void) const;
  int  GetDomainCount(void) const;
  const string& GetStartTime(void) const;
  const string& GetEndTime(void) const;
  int  GetPageNumber(void) const;
  int  GetPageSize(void) const;
  int  GetTotalCount(void) const;

private:
  std::vector<WafLog> LogList_;
  int    WebAttack_;
  bool   NewWafUser_;
  bool   WafOpened_;
  bool   InWhiteList_;
  int    DomainCount_;
  string StartTime_;
  string EndTime_;
  int    PageNumber_;
  int    PageSize_;
  int    TotalCount_;

protected:
  const char* BaseKey(void);
  void         UnmarshallerMap(std::map<string, string>& response_map);

};

} } // namespace aliyun { namespace Yundun {

#endif // #ifndef ALIYUN_Yundun_WafLogResponse_H_

// end of file 
